home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 12, No. 01 (1991-01)(MindCraft Publishing)(Side A)[a].zip / Nibble Volume 12, No. 01 (1991-01)(MindCraft Publishing)(Side A)[a].po / PIC.MOVE.S < prev    next >
Text File  |  1996-12-24  |  2KB  |  68 lines

  1. *----------------------------*
  2. *  Super Res picture mover   *
  3. *    by Peter Stubbs     *
  4. *----------------------------*
  5. *   MERLIN 816 ASSEMBLER    *
  6. *----------------------------*
  7. *    Copyright (C)1991      *
  8. *   MindCraft Publ. Corp.    *
  9. *----------------------------*
  10.  
  11. * Moves pic between banks $00 and $E1. Direction of
  12. * move is determined by where you enter program.
  13. * Enter at MOVE1 for move from $00 to $E1 and enter
  14. * at MOVE2 for move from $E1 to $00.  An $8000 byte
  15. * buffer is used in bank $00 starting at $1400
  16.  
  17. LINSAVE   EQU $3         ;To hold value at NEWVIDEO
  18. WHERE     EQU $6         ;Storage for move direction
  19. NEWVIDEO  EQU $C029
  20.  
  21.           ORG $300
  22.           MX %11
  23. MOVE1     BRA ZERO
  24. MOVE2     LDA #$01       ;1=$E1 to $00
  25.           BRA ONE
  26. ZERO      LDA #$00       ;0=$00 to $E1
  27. ONE       STA WHERE      ;two 8 bit STA's
  28.           STA WHERE+1    ;for 16 bit LDA later
  29.           TR ADR
  30.           LDA NEWVIDEO
  31.           STA LINSAVE    ;Save for later
  32.           ORA #%01000000 ;Linear mode on, but not
  33.           STA NEWVIDEO   ; Super res mode
  34.           MX %00
  35.           CLC            ;NATIVE MODE ON
  36.           XCE
  37.           REP #$30
  38.           LDA WHERE      ;Determine move direction
  39.           BNE SAVE
  40.  
  41. * Move from bank $00 to Bank $E1
  42.  
  43. LOAD      PEA $0000
  44.           PEA $1400      ;Start at $001400
  45.           PEA $00E1
  46.           PEA $2000      ;Copy to $E12000
  47.           BRA MOVE
  48.  
  49. * Move from bank $E1 to bank $00
  50.  
  51. SAVE      PEA $00E1
  52.           PEA $2000      ;START AT $E12000
  53.           PEA $0000
  54.           PEA $1400      ;COPY TO $001400
  55.  
  56. * Do the actual move
  57.  
  58. MOVE      PEA $0000      ;Number of bytes to be
  59.           PEA $8000      ; copied is $00008000
  60.           LDX #$2B02     ;_BlockMove Tool Call
  61.           JSL $E10000    ;Call the Tool Locator
  62.           SEC            ;EMULATION MODE ON
  63.           XCE
  64.           LDA LINSAVE    ;Get saved value
  65.           STA NEWVIDEO   ; and restore NEWVIDEO
  66.           RTS            ;All done, exit
  67.           LST OFF
  68.